// 导入
const express = require('express')
// 创建
const app = express()
// 启动服务
app.listen(3006, function () {
    console.log('http://localhost:3006');
})
// 配置一句话, 让post请求中req.body, 能够接收到参数
app.use(express.urlencoded({ extended: false }))
// 注册 - /database/index 里面封装的函数
const db = require('./database/index')
app.post('/api/reguser', (req, res) => {
    // req.body 接受请求参数
    // console.log(req.body);
    // 通过对象结构的方式, 可以把对象中的属性定义为变量
    let { username, password } = req.body
    console.log(username);
    // 查询用户名是否存在
    let sql = `select * from user where username="${username}"`
    db(sql, (err, results) => {
        // 判断
        if (err) {
            return res.send({ status: 1, msg: 'sql语法错误:' + err.message })
        }
        // 判断结果, 如果大于等于1, 就说明用户名已存在
        if (results.length >= 1) {
            return res.send({ status: 1, msg: '用户名已存在, 请更换用户名' })
        }
        // 下载utility :  npm i utility@1.17.0
        // 导入utility. 加密密码
        const utility = require('utility')
        password = utility.md5(password)
        // 添加的语句, 要写到查询语句里面
        let sql = `insert into user set username="${username}", password="${ password }"`
        db(sql, (err, results) => {
            // 判断
            if(err) {
                return res.send({ status: 1, msg: 'sql语法错误:' + err.message })
            }
            // 判断结果
            if(results.affectedRows !== 1) {
                return res.send({ status: 1, message: '添加失败' })
            }
            // 返回响应的结果
            res.send({ status: 0, msg: '注册成功' })
        })
    })
    // res.send('恭喜您注册成功')
})